Análisis estadísticos, gráficos y manipulación de bases de datos.

Sección 1: Estadística descriptiva, manipulación de bases de datos, representaciones visuales y mapas

Porcentaje de secundarias públicas y privadas.

20 municipios con mayor número de escuelas de educación superior

Las 30 actividades económicas que más producción bruta total generan para todo el

país.#

Estados del país por número de establecimientos dedicados a la minería.

Sección 2: Estadística inferencial, series de tiempo y regresiones.

En todos los casos se uso “Previsión” de Excel para obtener los modelos y las proyecciones.

El PIB para México en el año 2050 será de 2195780644588.04 UD$

China superará a Estados Unidos como el país con mayor PIB para el año 2035 Si combinamos los PIB de México, Canadá y Estados Unidos sí serián competencia.

Al tener pocos datos y querer proyectar tan a largo plazo se mierde precisión.

Los graficos se incluyen en una hoja de excel aparte.

De los datos de población se espera ue para 2059 la población mundial supere las 11 mil millones de personas.

El modelos es una regresión lineal simle.

Sección 3: Análisis general

  1. ¿Dónde deberíamos poner los coches?

  2. ¿En qué horas deberíamos poner los coches?

horas<-mdy_hm(as.character(dataC$start_at))
horasfinde<-strftime(horas[is.weekend(horas)], format="%H")
#hist(as.numeric(horasfinde), breaks=24)

horasem<-strftime(horas[!is.weekend(horas)], format="%H")
#hist(as.numeric(horasem), breaks=24)

horaReq <- mdy_hm(as.character(dataC$start_at))
horaArr <- mdy_hm(as.character(dataC$arrived_at))

TiempEspera <- difftime(horaArr, horaReq, units = "mins")
dataC$TiempoEspera <- as.numeric(TiempEspera)

isweekend<-is.weekend(mdy_hm(as.character(dataC$start_at)))
dataC$IsWeekend<-isweekend

reg1 <- lm(TiempoEspera ~ driver_id + start_type + mdy_hm(as.character(dataC$start_at)) + IsWeekend, data = dataC)
#summary(reg1)

reg2 <- lm(TiempoEspera ~ driver_id  + start_type, data = dataC)
#summary(reg2)

reg4 <- lm(TiempoEspera ~ start_type  + IsWeekend, data = dataC)
summary(reg4)
## 
## Call:
## lm(formula = TiempoEspera ~ start_type + IsWeekend, data = dataC)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -25.22  -5.82  -0.82   3.92 614.18 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         12.8238     0.1430  89.680  < 2e-16 ***
## start_typedelayed  -17.6210     5.3970  -3.265 0.001097 ** 
## start_typereserved -17.6079     0.2037 -86.454  < 2e-16 ***
## IsWeekendTRUE       -0.7390     0.2122  -3.483 0.000497 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.22 on 17712 degrees of freedom
##   (5395 observations deleted due to missingness)
## Multiple R-squared:  0.2986, Adjusted R-squared:  0.2985 
## F-statistic:  2514 on 3 and 17712 DF,  p-value: < 2.2e-16
reg5 <- lm(TiempoEspera ~ start_type + strftime(mdy_hm(as.character(dataC$start_at)), format = "%H:%m") + IsWeekend, data = dataC)
#summary(reg5)
  1. ¿Nos faltan o sobran coches? ¿Cuándo? ¿Cómo?

Tiempo promedio de espera fines de semana

mean(dataC$TiempoEspera[(dataC$IsWeekend == T & dataC$start_type=='asap')], na.rm = T)
## [1] 11.97573

Tiempo promedio de espera entre semana

mean(dataC$TiempoEspera[(dataC$IsWeekend == F & dataC$start_type=='asap')], na.rm = T)
## [1] 12.87199
#summary(dataC$TiempoEspera[dataC$start_type=='asap'])

Las siguientes graficas las utiice para ver si donde hay más tiempo de espera es una zona especifica.

#LUGAR
plot_ly(x=dataC$start_lat[dataC$start_type=='asap'], y=dataC$start_lon[dataC$start_type=='asap'])
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plot.ly/r/reference/#scatter
## No scatter mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plot.ly/r/reference/#scatter-mode
plot_ly(x=dataC$start_lat[(dataC$start_type=='asap' & dataC$TiempoEspera>18)], y=dataC$start_lon[(dataC$start_type=='asap' & dataC$TiempoEspera>18)])
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plot.ly/r/reference/#scatter
## No scatter mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plot.ly/r/reference/#scatter-mode
## Warning: Ignoring 4101 observations
mean(dataC$TiempoEspera[(dataC$IsWeekend == F & dataC$start_type=='asap')], na.rm = T)
## [1] 12.87199

El siguiente gráfico es para chicar si existen horas donde haya más tiempo de espera.

#HORA
horas<-mdy_hm(as.character(dataC$start_at))
horasREQ<-strftime(horas, format="%H")

boxplot(dataC$TiempoEspera[dataC$start_type=='asap'])

plot_ly(x=horasREQ[(dataC$start_type=='asap' & dataC$TiempoEspera<40)], y = dataC$TiempoEspera[(dataC$start_type=='asap' & dataC$TiempoEspera<40)], type = 'box')
## Warning: Ignoring 4101 observations

##A partir de los datos se puede concluir que hagan falta automoviles en alguna hora especifica, ya que aunque el tiempo de espera si varía un poco esto puede deberse al tráfico.## Se puede decir que están bien distribuidos.

  1. ¿Los conductores están lo suficientemente ocupados si lo comparamos con una jornada laboral estándar en México (8 horas) ?

Tiempo promedio por día trabajado

## [1] 1.650397

La base presenta inconsiestencias en los campos: star_at y end_at por lo que el análisis no es correcto.

  1. ¿A qué conductores darías bonos? ¿A cuáles les darías las gracias?

Bonos:

##                          driver_id Viajes     Prom Cancelados
## 1 0aa51cbf1d21c8c6462dbf0e10028a07    192 4.447368          1
## 2 17c21284245ff240c7212732991c37ac     96 4.675676          1
## 3 992347d5c59f47b13b14442c6dac8d15    307 4.588235          1
## [1] "otros bonos"
##  [1] "0aa51cbf1d21c8c6462dbf0e10028a07" "17c21284245ff240c7212732991c2373"
##  [3] "17c21284245ff240c7212732991c37ac" "1d8ba0bdacccf2d0d70ee9925185d231"
##  [5] "23d3dae9d68c241a9b591f35ee5b18cd" "633dbc6b4e8edc3bf01b07b01ab543fe"
##  [7] "68fe4d0ad82cc2d715d1319533360be6" "6e168888d1ec73590b7ea371548757b5"
##  [9] "81771803646e88efe073786dd2369823" "924d4f0e7554566623e8ebb390491d08"
## [11] "9653e4379509630affa82d7744c825ec" "992347d5c59f47b13b14442c6dac8d15"
## [13] "ab581e277813d5d9ff98d03b1c96a13f" "ae06c34243f741e203e97c48ebcbd9da"
## [15] "b66c43e298753a3d39220e53008a1eb8" "c75c6643b92e4b184d71197e0ff9d34d"
## [17] "ccfcfc81abe6485b505ba742749e61aa" "ccfcfc81abe6485b505ba742749e6b8b"
## [19] "d04f1a596fe4a582f48e6eb2f9e8f617" "ecdcce0c956e266ed26c80fd9e5cbb8f"
## [21] "fb81277200c0aea311ad85f90d548d5a" "0fd4a08189ac948f6beaa2d314c6a7ea"

Los siguientes conductores tienen muy bajo rendimiento

##  [1] "1dcab4d408234e9ecb7e110708a25f64" "2b9be9ff113177942788e7d6e8554a15"
##  [3] "5060ebbf9acef4e4e616e575a3bd5f0f" "54b4de3c953be7d11a1ea3e2b545181d"
##  [5] "587ea1ea1ab415acb010ec8308275095" "58af3d0a68980e98b9cc7d5383ec84d1"
##  [7] "59cbac79f5a653e8a8eb10f0ca294192" "5f3cd1befe5e96f2324cfbb14c4d4433"
##  [9] "7bf79d646d318c67421797bb50001810" "8a122c8845dc5eebe7d584eb30428057"
## [11] "acf45a789a8ff88fb94179627131d87c" "b3ba9cda1b124b4fdc5d639f2416a9ca"
## [13] "b3ba9cda1b124b4fdc5d639f2417ca3e" "e4cae9e711f3aa4ce90ed98f28186565"
## [15] "f78d50ea4f0c83a4a302d9fa82249d1e" "f8cd07f929f6884cd5fea893f4da3461"
## [17] "fdf6154b59555655a8734629d4c65698" "4c37542f88f6bc6fb2465a93be1dc97e"
## [19] "761737b194876dd53761a03c958f7660" "ec84a73745199ff840ecafcb927f1b0b"
  1. ¿Hay pasajeros leales? ¿ Hay pasajeros que debemos quitar?

Lista de pasajeros leales

##  [1] <NA>                             0a98cead98f3935ef3051e834a30419e
##  [3] 13cd660fbea6e3b6221aa0fc6fcb8f58 16cbe35db7fff70fbc8251b4cdc843b1
##  [5] 27bd69801ce062f9b751502b38443d94 2ca81f8112b8c60af222ee2ed7287d4e
##  [7] 3546db06867c6c6f85e353c8ea633d07 406921adcca37705ef527b4246c12e83
##  [9] 406921adcca37705ef527b4246c1370e 4c37542f88f6bc6fb2465a93be210506
## [11] 55a921582f7b88ef61a3d8e24f502205 576d6a494b4a0c632e3f088675ca677b
## [13] 59a766bd488db1053eeba5a3aea922df 5d3f4707b95580ea79778ab1c3eea390
## [15] 649d38ea6680a3f6ee4a4b734f7898bf 65b6f3b7075270499ddd0f1dc10f9ac6
## [17] 68fe4d0ad82cc2d715d131953312673c 68fe4d0ad82cc2d715d131953336d717
## [19] 81391eb34b4ff58d304e5aa357d4c7df 851e424ed81e136e7e8c4b9ab0a84dd9
## [21] 851e424ed81e136e7e8c4b9ab0a89e94 85beef0c795e5e4cacf4aa4058c16b01
## [23] 86aa09456b63a2a25e0097c55203cb59 86aa09456b63a2a25e0097c5520497ec
## [25] 86aa09456b63a2a25e0097c55220cd9a 8e37a68fab5f31a5e2c1b5f77c6bb9e5
## [27] 8ed36e0e9dbf62743c06c09e5f7c1835 ae06c34243f741e203e97c48eb42017b
## [29] ae06c34243f741e203e97c48eb62c195 ae06c34243f741e203e97c48eb62e6db
## [31] b7dea45c3cc92b9efd5a4905e69fa8a1 b8329294de68c83ec04d2edab5f52e3f
## [33] b8ae7685c97ef64f90a646a3b97e4233 baacf396f773709519bbde35a587f7f4
## [35] ca5f041e0b807120714a6e4616154d37 caa7a1b7f11b99895d9991c3635fd51d
## [37] cf3a94138caddceb3209e4723638ef6f ded01e648ddbeb109e0b377479b816be
## [39] e1332f68e81526e498e4d84523390d76 e4cae9e711f3aa4ce90ed98f2817e733
## [41] e4cae9e711f3aa4ce90ed98f28380df7 e84fda9c5df33f03c89b6923c3650564
## [43] f78d50ea4f0c83a4a302d9fa8220c654
## 1390 Levels: 00cb8ad6a0f7214d002e3ded6b7c9b80 ...

Existen pasajeros que tienen mala calificación y cancelan muchos viajes, pero tambén realizan muchos.

##                            user_id Viajes     Prom Cancelados
## 1 659fcfb728615b0996641d0399df43c5     45 4.166667          7
## 2 8e37a68fab5f31a5e2c1b5f77c6b5d46     24 4.291667          7
## 3 a86c8d399be95a32f795a8a9887127b9    434 3.909091        365
## 4 c127041483aa67ee4525d94d187175dc     25 4.157895         23
## 5 ff5c924e0b630fd7c019a42340594b55     30 3.766667          7

¡Muchas Gracias!